perm filename TIME.HIS[ESS,JMC] blob sn#014982 filedate 1972-12-01 generic text, type T, neo UTF8
00100	NOTES ON THE HISTORY OF TIME=SHARING AT M.I.T.
00200	
00300	by John McCarthy
00400	
00500	
00600	      The purpose of these notes is to set down what I
00700	remember of the matter so that it can be compared with
00800	the memories of others to get the true picture.
00900	
01000	1. The idea of general purpose multi-terminal time sharing
01100	as the right way to use computers came to me before I had
01200	ever seen a computer.  It took me a while to realize that
01300	not only wasn't this the way computers were used, but no-one
01400	had any specific plans to do so.  I am sure the idea
01500	also occurred to other people.  In fact, in the 1950's well
01600	before anyone started a time-sharing project, I remember
01700	a speech by Herb Grosch in which he quoted T. J. Watson Sr.
01800	as having said something like, "The computer really should
01900	be down in the basement and all you guys should sit in your
02000	offices using it."  However, this was in the same part of the
02100	speech in which Grosch refferrred to everyone lying on the
02200	beach with the robots stuffing breadfruit in our mouths
02300	indicating to me that Grosch thought the whole idea very
02400	futuristic.
02500	
02600	     2. When I first came to M.I.T. in
02700	in September 1957 as a visiting Sloan foundation fellow from
02800	Dartmouth College, I immediately began to think about how
02900	we could get interactive computing from the IBM 704.  The
03000	immediate motivation came from the belief that artificial
03100	intelligence research required interaction especially in
03200	order to run the proposed Advice Taker
03300	program.  The first idea was worked out in collaboration
03400	with Minsky and consisted of attaching a typewriter to the
03500	IBM 704 by bypassing the sense switches and to use the
03600	trapping mode of the 704 to get interrupts.  The idea was
03700	that pressing a key on the typewriter would
03800	force the machine into trapping mode and the next transfer
03900	instruction executed would trap to a program that would interpret
04000	the key, store the information, decide whether a message was complete, and if not
04100	jump back to the interrupted program.  If the message
04200	was complete, the contents of core would be dumped on the
04300	drum and the program to deal with the message loaded
04400	from the drum..  After considerable discussion with Dean Arden,
04500	the Computation Center's director of research, a Jones
04600	plug to mount in the 704 was procured and permissioon was
04700	requested from IBM to make the minor modification to the
04800	704.  This permission was granted fairly quickly, but further
04900	action was delayed because the task was given very low priority.
05000	I had an exaggerated idea of the engineering difficulties
05100	and everyone else had tasks they considered more urgent.
05200	Nevertheless, it would have been done, but a distraction
05300	appeared.
05400	
05500	     3. About xxx , we heard about the IBM "real time package"
05600	for the 704.  This was a special device that had been designed
05700	so that Boeing could attach a wind tunnel to the computer.
05800	It consisted of an interrupt hat could interrupt at an 
05900	arbitrary time, instructions for enabling it and disabling it,
06000	and a 36 buffer register for communicating with an external
06100	device and instructions for transferring information to and
06200	from the outside world through the register.  There wrre
06300	also instructions for doing the handshaking.  Ussing this device
06400	seemed much better than our scheme for taking over the
06500	sense switches.  The only trouble was that it cost
06600	something like $2500 per month, so we campaigned for IBM
06700	to give it to us which they agreed to do after many
06800	months.  One of the engineers, Arnold Siegel, I think, then
06900	began to plan an interface between the real time package and
07000	a flexo-writer.  
07100	
07200	     4. About this time I began to plan a mutii-console
07300	time-sharing system whereby each of a number of users
07400	coluld act as thoough he had a computer to himself.  The
07500	idea included a file system for which I proposed to use
07600	the magnetic disks that were just being announced.  It 
07700	also required a user mode of
07800	operation in which input-output instructions were forbidden
07900	and boundary and relocation registers.  The boundary and
08000	relocation registers were planned for the IBM Stretch computer
08100	which I knew about as an IBM consultant, but I didn't think
08200	they could be readily obtained on the 7090 computer which
08300	had been announced..
08400	
08500	     5. Nevertheless, I proposed that M.I.T. undertake to
08600	used its expected IBM 7090 computer in a time-sharing way
08700	in a computation Center memorandum dated 1 January 1959.
08800	About this time also our ideas on time sharing were beginning
08900	to be expressed in progress reports and in our requests for
09000	research support to NSF.